import type {StyleSpec} from "style-mod";
import type {Extension} from "@codemirror/state";
import type {LanguageSupport} from "@codemirror/language";
import type {LintSource} from "@codemirror/lint";

export interface CodeMirrorProps {
    theme?: Record<string, StyleSpec>
    dark?: boolean
    basic?: boolean
    minimal?: boolean
    placeholder?: string
    wrap?: boolean
    tab?: boolean
    phrases?: {[key:string]: string}
    indentUnit?: string
    tabSize?: number
    lineSeparator?: string
    readonly?: boolean
    disabled?: boolean
    extensions?: Extension[]
    lang?: LanguageSupport
    linter?: LintSource
    linterConfig?: object
    forceLinting?: boolean
    scrollbarAtBottom?: boolean
}